.TH std::fflush 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::fflush \- std::fflush

.SH Synopsis
   Defined in header <cstdio>
   int fflush( std::FILE* stream );

   For output streams (and for update streams on which the last operation was output),
   writes any unwritten data from the stream's buffer to the associated output device.

   For input streams (and for update streams on which the last operation was input),
   the behavior is undefined.

   If stream is a null pointer, all open output streams are flushed, including the ones
   manipulated within library packages or otherwise not directly accessible to the
   program.

.SH Parameters

   stream - the file stream to write out

.SH Return value

   Returns zero on success. Otherwise EOF is returned and the error indicator of the
   file stream is set.

.SH Notes

   POSIX extends the specification of fflush by defining its effects on an input
   stream, as long as that stream represents a file or another seekable device: in that
   case the POSIX file pointer is repositioned to match the C stream pointer (which
   effectively undoes any read buffering) and the effects of any std::ungetc or
   std::ungetwc that weren't yet read back from the stream are discarded.

   Microsoft also extends the specification of fflush by defining its effects on an
   input stream: in Visual Studio 2013 and prior, it discarded the input buffer, in
   Visual Studio 2015 and newer, it has no effect, buffers are retained.

.SH See also

   fopen  opens a file
          \fI(function)\fP
   fclose closes a file
          \fI(function)\fP
   C documentation for
   fflush
